如何快速获取Json字符串的深层次属性值?

您所在的位置:网站首页 js 遍历json 的值 如何快速获取Json字符串的深层次属性值?

如何快速获取Json字符串的深层次属性值?

2023-06-17 20:32| 来源: 网络整理| 查看: 265

一、利用Jackson库

在上面的代码中,我们首先创建一个JSON字符串,并使用ObjectMapper类将其转换为JsonNode对象。然后我们可以使用get方法获取其属性值,如name、age和address.city。

import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonExample { public static void main(String[] args) throws Exception { String jsonString = "{\"name\":\"John\",\"age\":30,\"address\":{\"city\":\"New York\",\"state\":\"NY\"}}"; ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode = objectMapper.readTree(jsonString); String name = jsonNode.get("name").asText(); int age = jsonNode.get("age").asInt(); String city = jsonNode.get("address").get("city").asText(); System.out.println(name); System.out.println(age); System.out.println(city); } } 二、利用Gson库

在上面的代码中,我们首先创建一个JSON字符串,并使用Gson类将其转换为JsonObject对象。然后我们可以使用get方法获取其属性值,如name、age和address.city。

需要注意的是,这里使用了Gson的fromJson方法来将JSON字符串转换为Java对象。第二个参数指定了要转换成的Java类类型,这里我们传入了JsonObject.class。

另外,需要注意JsonElement和JsonObject之间的区别。JsonElement是所有JSON元素(包括对象、数组、原始值等)的抽象基类,而JsonObject表示一个JSON对象。因此,在获取深层次属性时,需要先将JsonElement转换为JsonObject才能继续操作。

import com.google.gson.Gson; import com.google.gson.JsonObject; public class JsonExample { public static void main(String[] args) throws Exception { String jsonString = "{\"name\":\"John\",\"age\":30,\"address\":{\"city\":\"New York\",\"state\":\"NY\"}}"; Gson gson = new Gson(); JsonObject jsonObject = gson.fromJson(jsonString, JsonObject.class); String name = jsonObject.get("name").getAsString(); int age = jsonObject.get("age").getAsInt(); String city = jsonObject.getAsJsonObject("address").get("city").getAsString(); System.out.println(name); System.out.println(age); System.out.println(city); } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3